package constant

const (
	MaxUploadMB = 10 // 最大上传文件大小(MB)
)

type Header struct {
	Label string `json:"label"`
	Key   string `json:"key"`
}

type Projects struct {
	ProjectName        string `json:"ProjectName"`        // 项目名称
	ProjectID          string `json:"ProjectID"`          // 项目ID
	ProjectDescription string `json:"ProjectDescription"` // 项目说明
	ProjectStatus      string `json:"ProjectStatus"`      // 项目状态
	ProjectVisible     string `json:"ProjectVisible"`     // 项目是否可见（个人或团队）
	ProjectFlag        string `json:"ProjectFlag"`        // 项目标识
	ProjectStartTime   string `json:"ProjectStartTime"`   // 项目开始时间
	ProjectEndTime     string `json:"ProjectEndTime"`     // 项目结束时间
	ProjectManagerId   string `json:"ProjectManagerId"`   // 项目所有者ID号
	ProjectMemberId    string `json:"ProjectMemberId"`    // 项目成员ID号
	ProjectCreateTime  string `json:"ProjectCreateTIme"`  // 项目创建时间
	ProjectUpdateTime  string `json:"ProjectUpdateTIme"`  // 项目更新时间
}

type ProjectItems struct {
	ProjectID      string `json:"ProjectID"`      // 项目ID，对应Projects表的ProjectID
	SystemName     string `json:"SystemName"`     // 系统名称
	ProjectItemsId string `json:"ProjectItemsId"` // 系统ID
	ReformStatus   string `json:"ReformStatus"`
	// 问题列表信息，以\n\t分割
	Issue string `json:"Issue"`
	// 系统调研表
	SystemSurveyExcel string `json:"SystemSurveyExcel"`
	// 预计上线时间
	ExpectBeOnlineTime string `json:"ExpectBeOnlineTime"`
	// 模拟割接时间
	ExpectBeSimulateTime string `json:"ExpectBeSimulateTime"`
	// 集群部署进度
	ClusterDeployStatus string `json:"ClusterDeployStatus"`
	// 兼容性参数调整
	CompatibleChange string `json:"CompatibleChange"`
	// 特殊版本限制
	SpecialVersionLimit string `json:"SpecialVersionLimit"`
	// guc参数检查
	GUCParamCheck string `json:"GUCParamCheck"`
	// lic检查
	LicenseCheck string `json:"LicenseCheck"`
	// 白名单配置
	WhiteListConfiguration string `json:"WhiteListConfiguration"`
	// 归档与备份配置
	ArchiveAndBackupConfiguration string `json:"ArchiveAndBackupConfiguration"`
	// 主机、数据库监控检查
	ServerAndDBMonitor string `json:"ServerAndDBMonitor"`
	// 磁盘、IO、CPU检查
	DiskAndIOAndCPUCheck string `json:"DiskAndIOAndCPUCheck"`
	// 迁移测试
	MigrateTest           string `json:"MigrateTest"`
	DeployConfirmForm     string `json:"DeployConfirmForm"`
	DeployConfirmFormPath string `json:"DeployConfirmFormPath"`
	Ledger
}

type Ledger struct {
	ProjectItemsId         string `json:"project_items_id"`
	TicketYears            string `json:"ticket_years"`
	ProjectManager         string `json:"project_manager"`
	ProjectRoleA           string `json:"project_role_a"`
	OfficialManager        string `json:"official_manager"`
	TicketInfo             string `json:"ticket_info"`
	ProjectStatus          string `json:"project_status"`
	ProgressStream         string `json:"progress_stream"`
	ExpectDeployTime       string `json:"expect_deploy_time"`
	ProjectReplyOnlineTime string `json:"project_reply_online_time"`
	ServerInfo
	DatabaseInfo
	Env                     string `json:"env"`
	ServerHandover          string `json:"server_handover"`
	Migrate                 string `json:"migrate"`
	ExpectOnlineTime        string `json:"expect_online_time"`
	BelongCompany           string `json:"belong_company"`
	BelongApartment         string `json:"belong_apartment"`
	BelongBusiness          string `json:"belong_business"`
	SubSystemName           string `json:"sub_system_name"`
	BussinessLevel          string `json:"bussiness_level"`
	MainUses                string `json:"main_uses"`
	ProjectBussinessManager string `json:"project_bussiness_manager"`
	ContactPhoneNumber      string `json:"contact_phone_number"`
	LoginType               string `json:"login_type"`
	UserAndPasswd           string `json:"user_and_passwd"`
	Remarks                 string `json:"remarks"`
}

type ServerInfo struct {
	ServerType      string `json:"server_type"`
	ServerStructure string `json:"server_structure"`
	OsName          string `json:"os_name"`
	CpuStructure    string `json:"cpu_structure"`
	CpuInfo         string `json:"cpu_info"`
	CpuCoreCount    string `json:"cpu_core_count"`
	OsPlantform     string `json:"os_plantform"`
	OsVersion       string `json:"os_version"`
	OsCoreVersion   string `json:"os_core_version"`
	MemoryInfo      string `json:"memory_info"`
	DiskInfo        string `json:"disk_info"`
	Structure       string `json:"structure"`
	ClusterName     string `json:"cluster_name"`
	HostName        string `json:"host_name"`
	Domain          string `json:"domain"`
	Pod             string `json:"pod"`
}

type DatabaseInfo struct {
	DataVolume       string `json:"data_volume"`
	DbType           string `json:"db_type"`
	DbVersion        string `json:"db_version"`
	CompatibleModel  string `json:"compatible_model"`
	DbIp             string `json:"db_ip"`
	DbVip            string `json:"db_vip"`
	DbPort           string `json:"db_port"`
	DbDataPath       string `json:"db_data_path"`
	DbArchivePath    string `json:"db_archive_path"`
	DbBackupPath     string `json:"db_backup_path"`
	DbBackupStrategy string `json:"db_backup_strategy"`
	Monitor          string `json:"monitor"`
}

//
//type Ledger struct {
//	// 台账部分
//	ProjectItemsId          string `json:"ProjectItemsId"`
//	TicketYears             string `json:"TicketYears"`
//	ProjectManager          string `json:"ProjectManager"`
//	ProjectRoleA            string `json:"ProjectRoleA"`
//	OfficialManager         string `json:"OfficialManager"`
//	TicketInfo              string `json:"TicketInfo"`
//	ProjectStatus           string `json:"ProjectStatus"`
//	ProgressStream          string `json:"ProgressStream"`
//	ExpectDeployTime        string `json:"ExpectDeployTime"`
//	ProjectReplyOnlineTime  string `json:"ProjectReplyOnlineTime"`
//	ServerInfo
//	DatabaseInfo
//	Env                     string `json:"Env"`
//	ServerHandover          string `json:"ServerHandover"`
//	Migrate                 string `json:"Migrate"`
//	ExpectOnlineTime        string `json:"ExpectOnlineTime"`
//	BelongCompany           string `json:"BelongCompany"`
//	BelongApartment         string `json:"BelongApartment"`
//	BelongBusiness          string `json:"BelongBusiness"`
//	SubSystemName           string `json:"SubSystemName"`
//	BussinessLevel          string `json:"BussinessLevel"`
//	MainUses                string `json:"MainUses"`
//	ProjectBussinessManager string `json:"ProjectBussinessManager"`
//	ContactPhoneNumber      string `json:"ContactPhoneNumber"`
//	LoginType               string `json:"LoginType"`
//	UserAndPasswd           string `json:"UserAndPasswd"`
//	Remarks                 string `json:"Remarks"`
//}
//
//type ServerInfo struct {
//	// ServerInfo 部分
//	ServerType      string `json:"ServerType"`
//	ServerStructure string `json:"ServerStructure"`
//	OsName          string `json:"OsName"`
//	CpuStructure    string `json:"CpuStructure"`
//	CpuInfo         string `json:"CpuInfo"`
//	CpuCoreCount    string `json:"CpuCoreCount"`
//	OsPlantform     string `json:"OsPlantform"`
//	OsVersion       string `json:"OsVersion"`
//	OsCoreVersion   string `json:"OsCoreVersion"`
//	MemoryInfo      string `json:"MemoryInfo"`
//	DiskInfo        string `json:"DiskInfo"`
//	Structure       string `json:"Structure"`
//	ClusterName     string `json:"ClusterName"`
//	HostName        string `json:"HostName"`
//	Domain          string `json:"Domain"`
//	Pod             string `json:"Pod"`
//}
//
//type DatabaseInfo struct {
//	// DatabaseInfo 部分
//	DataVolume       string `json:"DataVolume"`
//	DbType           string `json:"DbType"`
//	DbVersion        string `json:"DbVersion"`
//	CompatibleModel  string `json:"CompatibleModel"`
//	DbIp             string `json:"DbIp"`
//	DbVip            string `json:"DbVip"`
//	DbPort           string `json:"DbPort"`
//	DbDataPath       string `json:"DbDataPath"`
//	DbArchivePath    string `json:"DbArchivePath"`
//	DbBackupPath     string `json:"DbBackupPath"`
//	DbBackupStrategy string `json:"DbBackupStrategy"`
//	Monitor          string `json:"Monitor"`
//}
